#ifndef SYMBOLE_HPP
#define	SYMBOLE_HPP

#include "TableId.hpp"
#include "Type.hpp"
#include <iostream>

class Symbole{

protected:
    Type *type;
    
public:
    // classe abstraite
    Symbole();
    Symbole(Type *t);
    Symbole(const Symbole& symb);
    virtual ~Symbole();
    virtual std::string toString();

    //friend std::ostream &operator<<(std::ostream &flux, Symbole const& sym);
    virtual Type * getType()=0;

};
#endif

